// 环境配置
const envConfig = {
  // 应用标题
  appTitle: import.meta.env.VITE_APP_TITLE || 'Movie App',
  
  // API基础URL
  apiBaseUrl: import.meta.env.VITE_API_BASE_URL || '/',
  
  // 后端API地址
  apiUrl: import.meta.env.VITE_API_URL || 'http://localhost:8081',
  
  // 环境标识
  environment: import.meta.env.MODE || 'development',
  
  // 是否开发环境
  isDev: import.meta.env.DEV,
  
  // 是否生产环境
  isProd: import.meta.env.PROD,
  
  // 是否测试环境
  isTest: import.meta.env.MODE === 'test',
  
  // 调试模式
  debug: import.meta.env.VITE_DEBUG === 'true',
  
  // 功能开关
  features: {
    // 是否启用分析
    analytics: import.meta.env.VITE_ENABLE_ANALYTICS === 'true',
    
    // 是否启用PWA
    pwa: import.meta.env.VITE_ENABLE_PWA === 'true',
    
    // 是否启用服务端渲染
    ssr: import.meta.env.VITE_ENABLE_SSR === 'true',
  },
  
  // 第三方服务配置
  thirdParty: {
    // 分析服务ID
    analyticsId: import.meta.env.VITE_ANALYTICS_ID || '',
    
    // 地图服务密钥
    mapApiKey: import.meta.env.VITE_MAP_API_KEY || '',
  },
};

// 环境特定配置
const environmentConfigs = {
  development: {
    logLevel: 'debug',
    enableMock: true,
    apiTimeout: 30000,
  },
  test: {
    logLevel: 'info',
    enableMock: false,
    apiTimeout: 15000,
  },
  production: {
    logLevel: 'error',
    enableMock: false,
    apiTimeout: 10000,
  },
};

// 合并环境特定配置
const currentEnvConfig = environmentConfigs[envConfig.environment] || environmentConfigs.development;

export const config = {
  ...envConfig,
  ...currentEnvConfig,
};

// 环境检查函数
export const env = {
  // 获取环境变量
  get(key, defaultValue = '') {
    return import.meta.env[key] || defaultValue;
  },
  
  // 检查是否特定环境
  is(environment) {
    return import.meta.env.MODE === environment;
  },
  
  // 获取所有环境变量（用于调试）
  getAll() {
    return import.meta.env;
  },
};

// 默认导出
export default config;